public class D8 implements Fuckable {
    // some same rank keyword
    // default, private, public, protected
    // 
    public static void main(String[] args) {
        D8 d = new D8();
        d.IsFuckable();        
        

        ExtendPrivateFather son = new ExtendPrivateFather();
        son.ICanNotPutFatherFactor();
        son.ICanPutOwnFactor();
        son.ICanPutFatherProtectThing();
    }
    @Override
    public void IsFuckable() {
        System.out.println("fucker fucker fucker juicy wet");
    }
}

@SuppressWarnings("all")
class HasPrivateFather {
    private int factor=1;

    protected int fatherprotectthing;
}

class ExtendPrivateFather extends HasPrivateFather {
    void ICanNotPutFatherFactor() {
        // System.out.println(super.factor);
    }

    public int factor;// but my own factor, I can handle it
    void ICanPutOwnFactor() {
        System.out.println(this.factor);
    }

    void ICanPutFatherProtectThing() {
        System.out.println(super.fatherprotectthing);
    }
}

interface Fuckable {
    void IsFuckable();    
}